import Vue from 'vue';
import App from './App.vue';
import Router from 'vue-router';  // 导入 vue-router
import store from './store';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import Login from '@/views/Login.vue'; // 登录页面
import OrderView from "./views/OrderView";
import UserView from "./views/UserView";

// 配置 Vue
Vue.config.productionTip = false;
Vue.use(ElementUI);
Vue.use(Router);
// 定义路由
const routes = [
  { path: '/order', component: OrderView },
  { path: '/user', component: UserView },
  {
    path: '/login',
    name: 'Login',
    component: Login
  },
  {
    path: '/',
    redirect: '/login' // 默认跳转到登录页面
  }
];

// 创建路由实例
const router = new Router({
  routes,  // 路由配置
  mode: 'history',  // 使用 HTML5 History 模式
});
// 路由守卫，检查是否已登录
router.beforeEach((to, from, next) => {
  const token = localStorage.getItem('token');
  if (to.matched.some(record => record.meta.requiresAuth)) {
    // 如果目标页面需要认证且没有 token，则跳转到登录页
    if (!token) {
      next('/login');
    } else {
      next(); // 有 token，继续访问页面
    }
  } else {
    next(); // 不需要认证的页面直接访问
  }
});
// 创建并挂载 Vue 实例
new Vue({
  render: h => h(App),
  router,  // 将路由对象传入 Vue 实例
}).$mount('#app');